Certainly a standard programming interface should be developed for querying overlay visuals. The sample routines provided in the appendices of this article provide a starting point for such an interface.
The problem of querying the layering capabilities of
visuals is a subset of the larger visual selection
problem in X. Sophisticated extensions such as PEX and OpenGL
are overloading visuals to describe what
capabilities are available for various classes of windows. The
PEXMatchRenderTargets
request in PEX 5.1 [8] determines what visuals can be used for PEX rendering.
OpenGL [7] supplies the glxChooseVisual and glxGetConfig
routines to perform visual
selection.
While most X programmers simply use the default visual, in the future X programmers can expect to choose non-default visuals to suit sophisticated needs. Imagine how difficult visual selection might be if multiple ad hoc sources of visual information had to be consulted and it was up to the client program to combine all the information and properly select the most appropriate visual. Anticipating the complexity of this task, progress should be made in developing a single, centralized mechanism for determining the capabilities of supported visuals.
In the future, querying the SERVER_OVERLAY_VISUALS property could be denigrated in favor of a more general mechanism. For now, the property is the standard mechanism and future servers will be expected to continue supporting it even if an improved visual selection mechanism is introduced.